package com.hh.bss.common.page;

public class PageCounter {
	private boolean hasPrevious = false;
	private boolean hasNext = false;
	private int start = 0;
	private int end = 0;
	/**
	 * 
	 * @param pageCount int : 总页数
	 * @param pageNumber int : 当前页数
	 * @param size int : 小页大小
	 */
	public PageCounter(int pageCount,int pageNumber,int size){ 
		int bigPageNumber = (pageNumber % size == 0)? (pageNumber / size) : (pageNumber / size + 1);
		if(bigPageNumber > 1) this.hasPrevious = true;
		this.start = (bigPageNumber - 1) * size + 1;
		if(this.start < 0) this.start = 0;
		if(pageCount > (start + size-1)) this.hasNext = true;
		this.end = (this.hasNext == false)?pageCount:(size+start-1);
	}
	/**
	 * 是否有上一页
	 * @return boolean : 如果有返回true，否则返回false
	 */
	public boolean hasPrevious(){
		return this.hasPrevious;
	}
	/**
	 * 是否有下一页
	 * @return boolean : 如果有返回true，否则返回false
	 */
	public boolean hasNext(){
		return this.hasNext;
	}
	/**
	 * 起始的小页数
	 * @return int : 起始的小页页码
	 */
	public int getStart(){
		return this.start;
	}
	/**
	 * 结束的小页页码
	 * @return int : 结束的小页页码
	 */
	public int getEnd(){
		return this.end;
	}
}
